Skip to content

InteractionContext class

Attributes: [DebuggerDisplay("Input = {Input}, IsHandled = {IsHandled}")]

Defined in

Namespace: ReactiveUI Assembly: ReactiveUI.Core.dll Full name: ReactiveUI.InteractionContext<T1, T2> Modifiers: public sealed

Summary

View source

Contains contextual information for an interaction.

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

Class hierarchy
classDiagram
class InteractionContext~T1,T2~
class IOutputContext~TInput, TOutput~ {
    <>
}
IOutputContext~TInput, TOutput~ <|.. InteractionContext~T1,T2~
class IInteractionContext~TInput, TOutput~ {
    <>
}
IInteractionContext~TInput, TOutput~ <|.. InteractionContext~T1,T2~

Implements: IOutputContext, IInteractionContext

Remarks

Instances of this class are passed into interaction handlers. The Input property exposes the input to the interaction, whilst the SetOutput method allows a handler to provide the output.

Calling SetOutput more than once throws an InvalidOperationException, ensuring the handler's reply remains deterministic even when multiple handlers run concurrently. Use IsHandled to guard logic that should only execute once.

Examples

<![CDATA[
 viewModel.ConfirmDelete.RegisterHandler(async ctx =>
 {
 var approved = await dialogService.ShowAsync(ctx.Input);
 ctx.SetOutput(approved);
 });
 ]]>

Constructors

NameSummary
.ctorInitializes a new instance of the [InteractionContext](# class with the specified input.

Properties

NameSummary
InputGets the input for the interaction.
IsHandledGets a value indicating whether the interaction is handled. That is, whether the output has been set.

Methods

NameSummary
SetOutputSets the output for the interaction.
GetOutputGets the output of the interaction.
Inherited members